/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.letmeshare.pedagogue.core.entities;

import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.OneToMany;
import org.letmeshare.pedagogue.basic.entities.Achievement;
import org.letmeshare.pedagogue.core.validation.ValidationException;

/**
 *
 * @author ibisuser1
 */
@Entity
public class Applicant extends Person {
    
    // Need to redefine the package and entities  
    
    @OneToMany
    private Notification notification;
    @OneToMany(cascade = CascadeType.ALL)
    private List<Achievement> achievements;
    @OneToMany(cascade = CascadeType.ALL)
    private List<Qualification> qualifications;
    public enum Status{
        APPLIED,
        ACCEPTED,
        SHORT_LISTED,
        ADMITTED,
        SUSPENDED,
        REGECTED
        
    };
    
    private Status status= Status.APPLIED;
    private int rank=Integer.MIN_VALUE;
    
    @Override
    public void validate() throws ValidationException {
        throw new UnsupportedOperationException("Not supported yet.");
    } 

    public Notification getNotification() {
        return notification;
    }

    public void setNotification(Notification notification) {
        this.notification = notification;
    }

    public List<Achievement> getAchievements() {
        return achievements;
    }

    public void setAchievements(List<Achievement> achievements) {
        this.achievements = achievements;
    }

    public List<Qualification> getQualifications() {
        return qualifications;
    }

    public void setQualifications(List<Qualification> qualifications) {
        this.qualifications = qualifications;
    }

    public Status getStatus() {
        return status;
    }

    public void setStatus(Status status) {
        this.status = status;
    }

    public int getRank() {
        return rank;
    }

    public void setRank(int rank) {
        this.rank = rank;
    }
    
}
